home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / pc / technical documentation / macintosh technotes and q&as / technotes / tn / sampleppd.hqx / LW 12_640 PS extended PPD
Encoding:
PostScript Printer Description  |  1998-01-07  |  42.9 KB  |  1,067 lines

  1. *PPD-Adobe: "4.3"
  2. *%    This file is a modified version of the PPD file for the LaserWriter 12/640 PS Printer.
  3. *%     It contains two special extra PPD UI features which make use of the extended textedit
  4. *%    capabilities in LaserWriter 8.5.x and later. See the section just below titled 
  5. *%    "BEGIN special section of PPD file to illustrate Extended Text Capabilities"
  6. *%
  7. *% Adobe Systems PostScript(R) Printer Description File
  8. *% Copyright 1987-1996 Adobe Systems Incorporated and
  9. *% Apple Computer Incorporated. 
  10. *% All Rights Reserved. 
  11. *% Permission is granted for redistribution of this file as
  12. *% long as this copyright notice is intact and the contents
  13. *% of the file is not altered in any way from its original form.
  14. *% End of Copyright statement
  15. *FormatVersion: "4.3"
  16. *FileVersion: "1.1"
  17. *LanguageEncoding: ISOLatin1
  18. *LanguageVersion: English
  19. *PCFileName: "APLWMGS1.PPD"
  20. *Manufacturer: "Apple"
  21. *Product: "(LaserWriter 12/640 PS)"
  22. *PSVersion: "(2015.105) 1"
  23. *ModelName: "LaserWriter 12/640 PS"
  24. *ShortNickName: "Apple LaserWriter 12/640 PS"
  25. *NickName: "Apple LaserWriter 12/640 PS v2015.105"
  26.  
  27.  
  28. *% --------------------   BEGIN special section of PPD file to illustrate Extended Text Capabilities ---------
  29.  
  30. *% Dummy password UI to illustrate usage of text edit field. This is an example of a single text edit
  31. *% field as the sole interface for this feature UI. With a driver prior to LaserWriter 8.4, this UI
  32. *% will appear as a standard pick one UI with the options "User Default Password" and "Printer's Default".
  33. *% The driver will emit the invocation code for *APPassword Set if the user chooses that option. That
  34. *% code will do nothing. In LaserWriter 8.4 and later, the panel containing the Password UI text edit fields
  35. *% will not display the Password UI since the DITL in the resource fork has those portions of the UI hidden
  36. *% from the user. Instead that UI will appear on a 'generic' "Printer Specific Features" panel containing a
  37. *% popup with the only item being "Use Default Password". In LaserWriter 8.5,
  38. *% the DITL is adjusted so that the hidden items are unhidden and are available for user specification.
  39. *OpenUI *APPassword/Password: PickOne
  40. *OrderDependency: 30 AnySetup *APPassword
  41. *DefaultAPPassword: Set
  42. *APPassword Set/Use Default Password: ""
  43. *End
  44. *CloseUI: *APPassword
  45.  
  46. *% the 'RBISet' prefix before the Main Keyword is used as the main keyword for specifying
  47. *% the data format for specifying the UI data to be gathered and the code to be used for generating the
  48. *% feature invocation for this feature. Here, since the main keyword for our UI is 'APPassword', the 
  49. *% special main keyword we use is 'RBISetAPPassword'
  50. *% The 'invocation' value for the 'Data' option specifies that there is one text edit field and it
  51. *% contains a text string (as opposed to a number). The initial value for that string is "None" and
  52. *% the maximum number of digits this field can contain is 8.
  53. *RBISetAPPassword Data: "(None) 8"
  54.  
  55. *% The 'Code' option specifies the PS invocation code. The driver will first push all the text edit
  56. *% data onto the operand stack and then emit this code. The code here is simply illustrative and does 
  57. *% nothing but pop the argument. If the data for a given text edit field is a number, then that number
  58. *% is pushed on the stack. If the data for a given text edit field is a text string, then the data
  59. *% is pushed onto the stack as a PostScript string.
  60. *RBISetAPPassword Code: " pop"
  61.  
  62. *% This is an example of incorporating a text edit field with a pick one UI where there are other
  63. *% hard coded possibilities.
  64.  
  65. *% With a driver prior to LaserWriter 8.4, this UI will appear as a standard pick one UI with the options 
  66. *% "Use default setting", "Use Commercial", "Use Newsletter", "Use Newspaper", "Use Silkscreen", "Other",
  67. *% and "Printer's Default". All the settings except "Other" and "Printer's Default" will do something. 
  68. *% The 'Other" setting causes the empty invocation code to be emitted. Choice of "Printer's Default" generates nothing.
  69. *% In LaserWriter 8.4 and later, this PPD file will not display the Other radio button since in our DITL, that
  70. *% button plus the other text edit fields are hidden. In LaserWriter 8.5,
  71. *% the DITL is adjusted so that the hidden items are unhidden and are available for user selection.
  72. *% the PS invocation code here is simply illustrative and does nothing
  73. *OpenUI *APHalftoneUI/Halftoning: PickOne
  74. *DefaultAPHalftoneUI: PrintersDefault
  75. *APHalftoneUI PrintersDefault/Use default setting: ""
  76. *APHalftoneUI Commercial/Use Commercial: "80 45 (Dot) pop pop pop"
  77. *APHalftoneUI Newsletter/Use Newsletter: "120 45 (Newletter) pop pop pop"
  78. *APHalftoneUI Newspaper/Use Newspaper: "150 45 (Newspaper) pop pop pop"
  79. *APHalftoneUI Silkscreen/Use Silkscreen: "100 45 (Silkscreen) pop pop pop"
  80. *APHalftoneUI Set/Other: ""
  81. *CloseUI: *APHalftoneUI
  82.  
  83. *% the 'RBISet' prefix before the Main Keyword is used as the main keyword for specifying
  84. *% the data format for specifying the UI data to be gathered and the code to be used for generating the
  85. *% feature invocation for this feature, should the text edit portion of the UI be chosen. 
  86. *% Here, since the main keyword for our UI is 'APHalftoneUI', the 
  87. *% special main keyword we use is 'RBISetAPHalftoneUI'
  88. *% The 'invocation' value for the 'Data' option specifies that there are 3 text edit fields. The first
  89. *% field is a fixed number. The minimum value (60.) is then listed, followed by the maximum value (150.)
  90. *% followed by the initial setting (120.8). The second field is a long integer number with a minimum of 0,
  91. *% the maximum of 180 and the initial value of 45. The last field is a text field since it begins
  92. *% with a '(' with the initial value of 'other'. The number following the initial value of the text
  93. *% field is the maximum number of characters of text which can be provided in this field (18).
  94. *% contains a text string (as opposed to a number). The initial value for that string is "None" and
  95. *% the maximum number of digits this field can contain is 8.
  96. *RBISetAPHalftoneUI Data: "fixed 60. 150. 120.8 long 0 180 45 (other) 18"
  97.  
  98. *% The 'Code' option specifies the PS invocation code. The driver will first push all the text edit
  99. *% data onto the operand stack and then emit this code. If the data for a given text edit field is a number, 
  100. *% then that number is pushed on the stack.
  101. *% If the data for a given text edit field is a text string, then the data
  102. *% is pushed onto the stack as a PostScript string. For this example, the driver will push the
  103. *% first two numbers on the stack, followed by the string corresponding to the last textedit field for
  104. *% this UI.
  105. *% the PS invocation code here is simply illustrative and does nothing but pop the three values from
  106. *% the text edit fields off the stack.
  107. *RBISetAPHalftoneUI Code: " pop pop pop"
  108.  
  109. *% --------------------   END special section of PPD file to illustrate Extended Text Capabilities ---------
  110.  
  111. *OpenUI *APDarknessUI/Darkness: PickOne
  112. *DefaultAPDarknessUI: Light
  113. *APDarknessUI Light/Light: " 1 pop"
  114. *APDarknessUI MediumDark/Medium Dark: " 2 pop"
  115. *APDarknessUI HeavyDark/Heavy Dark: " 3 pop"
  116. *CloseUI: *APDarknessUI
  117.  
  118. *% === Options and Constraints =========
  119. *OpenGroup: InstallableOptions/Options Installed
  120. *OpenUI *InstalledMemory/Memory Configuration: PickOne
  121. *DefaultInstalledMemory: 4Meg
  122. *InstalledMemory 4Meg/Standard 4 Mb: ""
  123. *InstalledMemory 8Meg/Upgrade to 8 Mb: ""
  124. *InstalledMemory 12Meg/Upgrade to 12Mb: ""
  125. *InstalledMemory 16Meg/Upgrade to 16Mb: ""
  126. *InstalledMemory 20Meg/Upgrade to 20Mb: ""
  127. *InstalledMemory 24Meg/Upgrade to 24Mb: ""
  128. *InstalledMemory 32Meg/Upgrade to 32Mb: ""
  129. *InstalledMemory 36Meg/Upgrade to 36Mb: ""
  130. *InstalledMemory 40Meg/Upgrade to 40Mb: ""
  131. *InstalledMemory 48Meg/Upgrade to 48Mb: ""
  132. *InstalledMemory 64Meg/Upgrade to 64Mb: ""
  133. *?InstalledMemory: "
  134.     save
  135.     currentsystemparams /RamSize get
  136.     1048576 div cvi 6 string cvs dup length dup 3 add string dup 0 4 index 
  137.     putinterval dup 2 index (Meg) putinterval exch pop exch pop = flush
  138.     restore
  139. "
  140. *End
  141. *CloseUI: *InstalledMemory
  142.  
  143. *OpenUI *OptionalCassette1/Cassette (Optional): PickOne
  144. *DefaultOptionalCassette1: False
  145. *OptionalCassette1 True/Installed: ""
  146. *OptionalCassette1 False/Not Installed: ""
  147. *OptionalCassette1 Preferred/Installed and Preferred: "
  148.     1 dict dup /InputAttributes 1 dict dup /Priority [2 3 0 1] put put setpagedevice"
  149. *End
  150. *?OptionalCassette1: "
  151.     save
  152.     currentpagedevice /InputAttributes get
  153.     dup 2 known
  154.     {dup dup 2 get null ne exch 3 get null ne or {
  155.     /Priority 2 copy known {
  156.     get 0 get 2 eq {(Preferred)}{(True)}ifelse
  157.     } {
  158.     pop pop (True)
  159.     } ifelse
  160.     }{
  161.     pop (False)
  162.     }ifelse}
  163.     {pop (False)}ifelse = flush
  164.     restore
  165. "
  166. *End
  167. *CloseUI: *OptionalCassette1
  168.  
  169. *OpenUI *OptionalDuplexer/Duplex Printing Unit: Boolean
  170. *DefaultOptionalDuplexer: False
  171. *OptionalDuplexer True/Installed: ""
  172. *OptionalDuplexer False/Not Installed: ""
  173. *?OptionalDuplexer: "
  174.     save
  175.     16#19/SendCommand/DiagnosticProcs/ProcSet findresource exch get exec
  176.     8 and 0 ne
  177.     {(True)}{(False)}ifelse = flush
  178.     restore
  179. "
  180. *End
  181. *CloseUI: *OptionalDuplexer
  182. *CloseGroup: InstallableOptions
  183.  
  184. *% == memory + PhotoGrade
  185. *UIConstraints: *InstalledMemory 4Meg *BitsPerPixel 4
  186. *UIConstraints: *InstalledMemory 8Meg *BitsPerPixel 4
  187. *UIConstraints: *BitsPerPixel 4 *InstalledMemory 4Meg
  188. *UIConstraints: *BitsPerPixel 4 *InstalledMemory 8Meg
  189.  
  190. *% == memory + Duplex
  191. *UIConstraints: *InstalledMemory 4Meg *Duplex DuplexTumble
  192. *UIConstraints: *InstalledMemory 8Meg *Duplex DuplexTumble
  193. *UIConstraints: *InstalledMemory 4Meg *Duplex DuplexNoTumble
  194. *UIConstraints: *InstalledMemory 8Meg *Duplex DuplexNoTumble
  195. *UIConstraints: *Duplex DuplexTumble *InstalledMemory 4Meg
  196. *UIConstraints: *Duplex DuplexTumble *InstalledMemory 8Meg
  197. *UIConstraints: *Duplex DuplexNoTumble *InstalledMemory 4Meg
  198. *UIConstraints: *Duplex DuplexNoTumble *InstalledMemory 8Meg
  199.  
  200. *% == uninstalled options
  201. *UIConstraints: *OptionalCassette1 False *InputSlot OptionalCassette
  202. *UIConstraints: *OptionalDuplexer False *Duplex DuplexTumble
  203. *UIConstraints: *OptionalDuplexer False *Duplex DuplexNoTumble
  204. *UIConstraints: *InputSlot OptionalCassette *OptionalCassette1 False
  205. *UIConstraints: *Duplex DuplexTumble *OptionalDuplexer False
  206. *UIConstraints: *Duplex DuplexNoTumble *OptionalDuplexer False
  207.  
  208. *% == paper sizes
  209. *UIConstraints: *PageSize Letter *InputSlot Envelope
  210. *UIConstraints: *PageSize Legal *InputSlot Envelope
  211. *UIConstraints: *PageSize A4 *InputSlot Envelope
  212. *UIConstraints: *PageSize LetterSmall *InputSlot Envelope
  213. *UIConstraints: *PageSize LegalSmall *InputSlot Envelope
  214. *UIConstraints: *PageSize A4Small *InputSlot Envelope
  215. *UIConstraints: *PageSize B5 *InputSlot Envelope
  216. *UIConstraints: *PageSize A5 *InputSlot Envelope
  217. *UIConstraints: *PageSize Executive *InputSlot Envelope
  218. *UIConstraints: *PageSize A5 *InputSlot StandardCassette
  219. *UIConstraints: *PageSize A5 *InputSlot OptionalCassette
  220. *UIConstraints: *PageSize B5 *InputSlot OptionalCassette
  221. *UIConstraints: *PageSize Executive *InputSlot OptionalCassette
  222. *UIConstraints: *PageSize Env10 *InputSlot StandardCassette
  223. *UIConstraints: *PageSize EnvMonarch *InputSlot StandardCassette
  224. *UIConstraints: *PageSize EnvC5 *InputSlot StandardCassette
  225. *UIConstraints: *PageSize EnvDL *InputSlot StandardCassette
  226. *UIConstraints: *PageSize Postcard *InputSlot StandardCassette
  227. *UIConstraints: *PageSize Env10 *InputSlot OptionalCassette
  228. *UIConstraints: *PageSize EnvMonarch *InputSlot OptionalCassette
  229. *UIConstraints: *PageSize EnvC5 *InputSlot OptionalCassette
  230. *UIConstraints: *PageSize EnvDL *InputSlot OptionalCassette
  231. *UIConstraints: *PageSize Postcard *InputSlot OptionalCassette
  232.  
  233. *UIConstraints: *PageRegion Letter *InputSlot Envelope
  234. *UIConstraints: *PageRegion Legal *InputSlot Envelope
  235. *UIConstraints: *PageRegion A4 *InputSlot Envelope
  236. *UIConstraints: *PageRegion LetterSmall *InputSlot Envelope
  237. *UIConstraints: *PageRegion LegalSmall *InputSlot Envelope
  238. *UIConstraints: *PageRegion A4Small *InputSlot Envelope
  239. *UIConstraints: *PageRegion B5 *InputSlot Envelope
  240. *UIConstraints: *PageRegion A5 *InputSlot Envelope
  241. *UIConstraints: *PageRegion Executive *InputSlot Envelope
  242. *UIConstraints: *PageRegion A5 *InputSlot StandardCassette
  243. *UIConstraints: *PageRegion A5 *InputSlot OptionalCassette
  244. *UIConstraints: *PageRegion B5 *InputSlot OptionalCassette
  245. *UIConstraints: *PageRegion Executive *InputSlot OptionalCassette
  246. *UIConstraints: *PageRegion Env10 *InputSlot StandardCassette
  247. *UIConstraints: *PageRegion EnvMonarch *InputSlot StandardCassette
  248. *UIConstraints: *PageRegion EnvC5 *InputSlot StandardCassette
  249. *UIConstraints: *PageRegion EnvDL *InputSlot StandardCassette
  250. *UIConstraints: *PageRegion Postcard *InputSlot StandardCassette
  251. *UIConstraints: *PageRegion Env10 *InputSlot OptionalCassette
  252. *UIConstraints: *PageRegion EnvMonarch *InputSlot OptionalCassette
  253. *UIConstraints: *PageRegion EnvC5 *InputSlot OptionalCassette
  254. *UIConstraints: *PageRegion EnvDL *InputSlot OptionalCassette
  255. *UIConstraints: *PageRegion Postcard *InputSlot OptionalCassette
  256.  
  257. *UIConstraints: *InputSlot Envelope *PageSize Letter
  258. *UIConstraints: *InputSlot Envelope *PageSize Legal
  259. *UIConstraints: *InputSlot Envelope *PageSize A4
  260. *UIConstraints: *InputSlot Envelope *PageSize LetterSmall
  261. *UIConstraints: *InputSlot Envelope *PageSize LegalSmall
  262. *UIConstraints: *InputSlot Envelope *PageSize A4Small
  263. *UIConstraints: *InputSlot Envelope *PageSize B5
  264. *UIConstraints: *InputSlot Envelope *PageSize A5
  265. *UIConstraints: *InputSlot Envelope *PageSize Executive
  266. *UIConstraints: *InputSlot StandardCassette *PageSize A5
  267. *UIConstraints: *InputSlot StandardCassette *PageSize Env10
  268. *UIConstraints: *InputSlot StandardCassette *PageSize EnvMonarch
  269. *UIConstraints: *InputSlot StandardCassette *PageSize EnvC5
  270. *UIConstraints: *InputSlot StandardCassette *PageSize EnvDL
  271. *UIConstraints: *InputSlot StandardCassette *PageSize Postcard
  272. *UIConstraints: *InputSlot OptionalCassette *PageSize A5
  273. *UIConstraints: *InputSlot OptionalCassette *PageSize B5
  274. *UIConstraints: *InputSlot OptionalCassette *PageSize Executive
  275. *UIConstraints: *InputSlot OptionalCassette *PageSize Env10
  276. *UIConstraints: *InputSlot OptionalCassette *PageSize EnvMonarch
  277. *UIConstraints: *InputSlot OptionalCassette *PageSize EnvC5
  278. *UIConstraints: *InputSlot OptionalCassette *PageSize EnvDL
  279. *UIConstraints: *InputSlot OptionalCassette *PageSize Postcard
  280.  
  281. *UIConstraints: *InputSlot Envelope *PageRegion Letter
  282. *UIConstraints: *InputSlot Envelope *PageRegion Legal
  283. *UIConstraints: *InputSlot Envelope *PageRegion A4
  284. *UIConstraints: *InputSlot Envelope *PageRegion LetterSmall
  285. *UIConstraints: *InputSlot Envelope *PageRegion LegalSmall
  286. *UIConstraints: *InputSlot Envelope *PageRegion A4Small
  287. *UIConstraints: *InputSlot Envelope *PageRegion B5
  288. *UIConstraints: *InputSlot Envelope *PageRegion A5
  289. *UIConstraints: *InputSlot Envelope *PageRegion Executive
  290. *UIConstraints: *InputSlot StandardCassette *PageRegion A5
  291. *UIConstraints: *InputSlot StandardCassette *PageRegion Env10
  292. *UIConstraints: *InputSlot StandardCassette *PageRegion EnvMonarch
  293. *UIConstraints: *InputSlot StandardCassette *PageRegion EnvC5
  294. *UIConstraints: *InputSlot StandardCassette *PageRegion EnvDL
  295. *UIConstraints: *InputSlot StandardCassette *PageRegion Postcard
  296. *UIConstraints: *InputSlot OptionalCassette *PageRegion A5
  297. *UIConstraints: *InputSlot OptionalCassette *PageRegion B5
  298. *UIConstraints: *InputSlot OptionalCassette *PageRegion Executive
  299. *UIConstraints: *InputSlot OptionalCassette *PageRegion Env10
  300. *UIConstraints: *InputSlot OptionalCassette *PageRegion EnvMonarch
  301. *UIConstraints: *InputSlot OptionalCassette *PageRegion EnvC5
  302. *UIConstraints: *InputSlot OptionalCassette *PageRegion EnvDL
  303. *UIConstraints: *InputSlot OptionalCassette *PageRegion Postcard
  304.  
  305. *UIConstraints: *Duplex DuplexTumble *PageSize B5
  306. *UIConstraints: *Duplex DuplexTumble *PageSize Executive
  307. *UIConstraints: *Duplex DuplexTumble *PageSize Env10
  308. *UIConstraints: *Duplex DuplexTumble *PageSize EnvMonarch
  309. *UIConstraints: *Duplex DuplexTumble *PageSize EnvC5
  310. *UIConstraints: *Duplex DuplexTumble *PageSize EnvDL
  311. *UIConstraints: *Duplex DuplexTumble *PageSize Postcard
  312. *UIConstraints: *Duplex DuplexNoTumble *PageSize B5
  313. *UIConstraints: *Duplex DuplexNoTumble *PageSize Executive
  314. *UIConstraints: *Duplex DuplexNoTumble *PageSize Env10
  315. *UIConstraints: *Duplex DuplexNoTumble *PageSize EnvMonarch
  316. *UIConstraints: *Duplex DuplexNoTumble *PageSize EnvC5
  317. *UIConstraints: *Duplex DuplexNoTumble *PageSize EnvDL
  318. *UIConstraints: *Duplex DuplexNoTumble *PageSize Postcard
  319.  
  320. *UIConstraints: *PageSize B5 *Duplex DuplexTumble
  321. *UIConstraints: *PageSize Executive *Duplex DuplexTumble
  322. *UIConstraints: *PageSize Env10 *Duplex DuplexTumble
  323. *UIConstraints: *PageSize EnvMonarch *Duplex DuplexTumble
  324. *UIConstraints: *PageSize EnvC5 *Duplex DuplexTumble
  325. *UIConstraints: *PageSize EnvDL *Duplex DuplexTumble
  326. *UIConstraints: *PageSize Postcard *Duplex DuplexTumble
  327. *UIConstraints: *PageSize B5 *Duplex DuplexNoTumble
  328. *UIConstraints: *PageSize Executive *Duplex DuplexNoTumble
  329. *UIConstraints: *PageSize Env10 *Duplex DuplexNoTumble
  330. *UIConstraints: *PageSize EnvMonarch *Duplex DuplexNoTumble
  331. *UIConstraints: *PageSize EnvC5 *Duplex DuplexNoTumble
  332. *UIConstraints: *PageSize EnvDL *Duplex DuplexNoTumble
  333. *UIConstraints: *PageSize Postcard *Duplex DuplexNoTumble
  334.  
  335. *UIConstraints: *Duplex DuplexTumble *PageRegion B5
  336. *UIConstraints: *Duplex DuplexTumble *PageRegion Executive
  337. *UIConstraints: *Duplex DuplexTumble *PageRegion Env10
  338. *UIConstraints: *Duplex DuplexTumble *PageRegion EnvMonarch
  339. *UIConstraints: *Duplex DuplexTumble *PageRegion EnvC5
  340. *UIConstraints: *Duplex DuplexTumble *PageRegion EnvDL
  341. *UIConstraints: *Duplex DuplexTumble *PageRegion Postcard
  342. *UIConstraints: *Duplex DuplexNoTumble *PageRegion B5
  343. *UIConstraints: *Duplex DuplexNoTumble *PageRegion Executive
  344. *UIConstraints: *Duplex DuplexNoTumble *PageRegion Env10
  345. *UIConstraints: *Duplex DuplexNoTumble *PageRegion EnvMonarch
  346. *UIConstraints: *Duplex DuplexNoTumble *PageRegion EnvC5
  347. *UIConstraints: *Duplex DuplexNoTumble *PageRegion EnvDL
  348. *UIConstraints: *Duplex DuplexNoTumble *PageRegion Postcard
  349.  
  350. *UIConstraints: *PageRegion B5 *Duplex DuplexTumble
  351. *UIConstraints: *PageRegion Executive *Duplex DuplexTumble
  352. *UIConstraints: *PageRegion Env10 *Duplex DuplexTumble
  353. *UIConstraints: *PageRegion EnvMonarch *Duplex DuplexTumble
  354. *UIConstraints: *PageRegion EnvC5 *Duplex DuplexTumble
  355. *UIConstraints: *PageRegion EnvDL *Duplex DuplexTumble
  356. *UIConstraints: *PageRegion Postcard *Duplex DuplexTumble
  357. *UIConstraints: *PageRegion B5 *Duplex DuplexNoTumble
  358. *UIConstraints: *PageRegion Executive *Duplex DuplexNoTumble
  359. *UIConstraints: *PageRegion Env10 *Duplex DuplexNoTumble
  360. *UIConstraints: *PageRegion EnvMonarch *Duplex DuplexNoTumble
  361. *UIConstraints: *PageRegion EnvC5 *Duplex DuplexNoTumble
  362. *UIConstraints: *PageRegion EnvDL *Duplex DuplexNoTumble
  363. *UIConstraints: *PageRegion Postcard *Duplex DuplexNoTumble
  364.  
  365. *UIConstraints: *OutputOrder Reverse *PageSize Legal
  366. *UIConstraints: *OutputOrder Reverse *PageRegion Legal
  367. *UIConstraints: *OutputOrder Reverse *PageSize LegalSmall
  368. *UIConstraints: *OutputOrder Reverse *PageRegion LegalSmall
  369. *UIConstraints: *PageSize Legal *OutputOrder Reverse
  370. *UIConstraints: *PageRegion Legal *OutputOrder Reverse
  371. *UIConstraints: *PageSize LegalSmall *OutputOrder Reverse
  372. *UIConstraints: *PageRegion LegalSmall *OutputOrder Reverse
  373.  
  374. *% == feature conflicts
  375. *UIConstraints: *InputSlot Multipurpose *Duplex DuplexTumble
  376. *UIConstraints: *InputSlot Multipurpose *Duplex DuplexNoTumble
  377. *UIConstraints: *Duplex DuplexTumble *InputSlot Multipurpose
  378. *UIConstraints: *Duplex DuplexNoTumble *InputSlot Multipurpose
  379. *UIConstraints: *ManualFeed True *Duplex DuplexTumble
  380. *UIConstraints: *ManualFeed True *Duplex DuplexNoTumble
  381. *UIConstraints: *Duplex DuplexTumble *ManualFeed True
  382. *UIConstraints: *Duplex DuplexNoTumble *ManualFeed True
  383.  
  384. *% ==== Device Capabilities ===============
  385. *LanguageLevel: "2"
  386. *Protocols: TBCP
  387. *Emulators: LaserJetIII
  388. *StartEmulator_LaserJetIII: "currentfile /LaserJetIII statusdict /emulate get exec "
  389. *StopEmulator_LaserJetIII: "<1B>E"
  390. *TTRasterizer: Type42
  391. *?TTRasterizer: "
  392.     save
  393.     42 /FontType resourcestatus
  394.     {pop pop (Type42)}{(None)}ifelse = flush
  395.     restore
  396. "
  397. *End
  398.  
  399. *FreeVM: "889436"
  400. *VMOption 4Meg/Standard 4 Mb: "889436"
  401. *VMOption 8Meg/Upgrade to 8Mb: "1839708"
  402. *VMOption 12Meg/Upgrade to 12Mb: "1602140"
  403. *VMOption 16Meg/Upgrade to 16Mb: "3158620"
  404. *VMOption 20Meg/Upgrade to 20Mb: "3697892"
  405. *VMOption 24Meg/Upgrade to 24Mb: "3943652"
  406. *VMOption 32Meg/Upgrade to 32Mb: "12315876"
  407. *VMOption 36Meg/Upgrade to 36Mb: "16493796"
  408. *VMOption 40Meg/Upgrade to 40Mb: "20638948"
  409. *VMOption 48Meg/Upgrade to 48Mb: "29002980"
  410. *VMOption 64Meg/Upgrade to 64Mb: "45722844"
  411. *ColorDevice: False
  412. *DefaultColorSpace: Gray
  413. *FileSystem: False
  414. *Throughput: "12"
  415. *Password: "()" 
  416. *ExitServer: "
  417. count 0 eq
  418. { false } { true exch startjob } ifelse
  419. not { 
  420.     (WARNING: Cannot modify initial VM.) =
  421.     (Missing or invalid password.) =
  422.     (Please contact the author of this software.) = flush quit
  423.     } if
  424. "
  425. *End
  426. *Reset: "
  427. count 0 eq
  428. { false } { true exch startjob } ifelse
  429. not { 
  430.     (WARNING: Cannot reset printer.) =
  431.     (Missing or invalid password.) =
  432.     (Please contact the author of this software.) = flush quit
  433.     } if
  434. systemdict /quit get exec
  435. (WARNING : Printer Reset Failed.) = flush
  436. "
  437. *End
  438.  
  439. *DefaultResolution: 600dpi
  440. *?Resolution: "
  441.     save
  442.     currentpagedevice /HWResolution get
  443.     0 get
  444.     (          ) cvs print
  445.     (dpi)
  446.     = flush
  447.     restore
  448. "
  449. *End
  450.  
  451. *SuggestedJobTimeout: "0"
  452. *SuggestedWaitTimeout: "300"
  453. *PrintPSErrors: False
  454.  
  455.  
  456. *% Halftone Information ===============
  457. *DefaultHalftoneType: 3
  458. *ScreenFreq: "106.0"
  459. *ScreenAngle: "45.0"
  460. *DefaultScreenProc: Dot
  461. *ScreenProc Dot: "
  462. {abs    exch   abs   2 copy   add   1 gt   {1 sub   dup   mul   exch  
  463. 1 sub    dup   mul   add   1 sub  } {dup   mul   exch   dup   mul  
  464. add    1 exch   sub  } ifelse  }
  465. "
  466. *End
  467. *ScreenProc Line: "{ pop }"
  468. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  469. *DefaultTransfer: Null
  470. *Transfer Null: "{ }"
  471. *Transfer Null.Inverse: "{ 1 exch sub }"
  472.  
  473. *OpenUI *Duplex/Duplex: PickOne
  474. *OrderDependency: 20 AnySetup *Duplex
  475. *DefaultDuplex: None
  476. *Duplex None/1-Sided: "1 dict dup /Duplex false put setpagedevice"
  477. *Duplex DuplexNoTumble/2-Sided, Long-Edge Binding (No Tumble): "
  478.     2 dict dup /Duplex true put dup /Tumble false put setpagedevice
  479. "
  480. *End
  481. *Duplex DuplexTumble/2-Sided, Short-Edge Binding (Tumble): "
  482.     2 dict dup /Duplex true put dup /Tumble true put setpagedevice
  483. "
  484. *End
  485. *?Duplex: "
  486.     save
  487.     currentpagedevice /Duplex get
  488.     {currentpagedevice /Tumble get {(DuplexTumble)}{(DuplexNoTumble)}ifelse}
  489.     {(None)}ifelse
  490.     = flush
  491.     restore
  492. "
  493. *End
  494. *CloseUI: *Duplex
  495.  
  496. *OpenUI *BitsPerPixel/PhotoGrade(TM): PickOne
  497. *OrderDependency: 20 AnySetup *BitsPerPixel
  498. *DefaultBitsPerPixel: None
  499. *BitsPerPixel 4/On: "1 dict dup /PreRenderingEnhance true put setpagedevice"
  500. *BitsPerPixel None/Off: "1 dict dup /PreRenderingEnhance false put setpagedevice"
  501. *?BitsPerPixel: "
  502.     save
  503.     currentpagedevice /PreRenderingEnhanceDetails get
  504.     /ActualPreRenderingEnhance get
  505.     {(4)}{(None)}ifelse = flush
  506.     restore
  507. "
  508. *End
  509. *CloseUI: *BitsPerPixel
  510.  
  511. *OpenUI *Smoothing/FinePrint(TM): Boolean
  512. *OrderDependency: 20 AnySetup *Smoothing
  513. *DefaultSmoothing: False
  514. *Smoothing True/On: "2 dict dup /PostRenderingEnhance true put setpagedevice"
  515. *Smoothing False/Off: "2 dict dup /PostRenderingEnhance false put setpagedevice"
  516. *?Smoothing: "
  517.     save
  518.     currentpagedevice /PostRenderingEnhanceDetails get
  519.     /ActualPostRenderingEnhance get
  520.     {(True)}{(False)} ifelse = flush
  521.     restore
  522. "
  523. *End
  524. *CloseUI: *Smoothing
  525.  
  526. *% Paper Handling ===================
  527.  
  528. *% Code in this section both selects a tray and sets up a frame buffer.
  529. *OpenUI *PageSize: PickOne
  530. *OrderDependency: 40 AnySetup *PageSize
  531. *DefaultPageSize: Letter
  532. *PageSize Letter/US Letter: "
  533.     2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice"
  534. *End
  535. *PageSize Legal/US Legal: "
  536.     2 dict dup /PageSize [612 1008] put dup /ImagingBBox null put setpagedevice"
  537. *End
  538. *PageSize A4: "
  539.     2 dict dup /PageSize [595 842] put dup /ImagingBBox null put setpagedevice"
  540. *End
  541. *PageSize A5: "
  542.     2 dict dup /PageSize [420 595] put dup /ImagingBBox null put setpagedevice"
  543. *End
  544. *PageSize B5: "
  545.     2 dict dup /PageSize [516 729] put dup /ImagingBBox null put setpagedevice"
  546. *End
  547. *PageSize Executive: "
  548.     2 dict dup /PageSize [522 756] put dup /ImagingBBox null put setpagedevice"
  549. *End
  550. *PageSize Env10/Comm10 Envelope: "
  551.     3 dict dup /PageSize [297 684] put dup /ImagingBBox null put
  552.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  553.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [297 684] put put put}if
  554.     setpagedevice
  555.     297 684 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  556. "
  557. *End
  558. *PageSize EnvMonarch/Monarch Envelope: "
  559.     3 dict dup /PageSize [279 540] put dup /ImagingBBox null put
  560.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  561.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [279 540] put put put}if
  562.     setpagedevice
  563.     279 540 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  564. "
  565. *End
  566. *PageSize EnvC5/C5 Envelope: "
  567.     3 dict dup /PageSize [459 649] put dup /ImagingBBox null put
  568.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  569.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [459 649] put put put}if
  570.     setpagedevice
  571.     459 649 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  572. "
  573. *End
  574. *PageSize EnvDL/DL Envelope: "
  575.     3 dict dup /PageSize [312 624] put dup /ImagingBBox null put
  576.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  577.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [312 624] put put put}if
  578.     setpagedevice
  579.     312 624 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  580. "
  581. *End
  582. *PageSize Postcard: "
  583.     3 dict dup /PageSize [284 419] put dup /ImagingBBox null put
  584.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  585.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [284 419] put put put}if
  586.     setpagedevice
  587.     284 419 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  588. "
  589. *End
  590. *PageSize LetterSmall/US Letter Small: "
  591.     2 dict dup /PageSize [612 792] put dup /ImagingBBox [25 25 587 767] put setpagedevice"
  592. *End
  593. *PageSize A4Small/A4 Small: "
  594.     2 dict dup /PageSize [595 842] put dup /ImagingBBox [25 25 570 817] put setpagedevice"
  595. *End
  596. *PageSize LegalSmall/US Legal Small: "
  597.     2 dict dup /PageSize [612 1008] put dup /ImagingBBox [25 25 587 983] put setpagedevice"
  598. *End
  599. *?PageSize: "
  600.     save
  601.     currentpagedevice /PageSize get aload pop
  602.     2 copy gt {exch} if 
  603.     (Unknown) 
  604.     11 dict
  605.     dup [612 792] (Letter) put
  606.     dup [612 1008] (Legal) put
  607.     dup [595 842] (A4) put
  608.     dup [420 595] (A5) put
  609.     dup [516 729] (B5) put
  610.     dup [522 756] (Executive) put
  611.     dup [297 684] (Env10) put
  612.     dup [279 540] (EnvMonarch) put
  613.     dup [459 649] (EnvC5) put
  614.     dup [312 624] (EnvDL) put
  615.     dup [284 419] (Postcard) put
  616. { exch aload pop 4 index sub abs 5 le exch 
  617.     5 index sub abs 5 le and 
  618.     {exch pop exit} {pop} ifelse
  619.     } bind forall
  620.     currentpagedevice /ImagingBBox get null ne {
  621.     % Form LetterSmall, LegalSmall, or A4Small
  622.     dup length dup 5 add string dup dup 0 5 index putinterval 
  623.     3 -1 roll (Small)  putinterval exch pop 
  624.     } if
  625.     = flush pop pop
  626.     restore
  627. "
  628. *End
  629. *CloseUI: *PageSize
  630.  
  631. *OpenUI *PageRegion: PickOne
  632. *OrderDependency: 40 AnySetup *PageRegion
  633. *DefaultPageRegion: Letter
  634. *PageRegion Letter/US Letter: "
  635.     3 dict dup /PageSize [612 792] put dup /ImagingBBox null put
  636.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [612 792] put put put
  637.     setpagedevice"
  638. *End
  639. *PageRegion Legal/US Legal: "
  640.     3 dict dup /PageSize [612 1008] put dup /ImagingBBox null put
  641.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [612 1008] put put put
  642.     setpagedevice"
  643. *End
  644. *PageRegion A4: "
  645.     3 dict dup /PageSize [595 842] put dup /ImagingBBox null put
  646.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [595 842] put put put
  647.     setpagedevice"
  648. *End
  649. *PageRegion A5: "
  650.     3 dict dup /PageSize [420 595] put dup /ImagingBBox null put
  651.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [420 595] put put put
  652.     setpagedevice"
  653. *End
  654. *PageRegion B5: "
  655.     3 dict dup /PageSize [516 729] put dup /ImagingBBox null put
  656.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [516 729] put put put
  657.     setpagedevice"
  658. *End
  659. *PageRegion Executive: "
  660.     3 dict dup /PageSize [522 756] put dup /ImagingBBox null put
  661.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [522 756] put put put
  662.     setpagedevice"
  663. *End
  664. *PageRegion Env10/Comm10 Envelope: "
  665.     3 dict dup /PageSize [297 684] put dup /ImagingBBox null put
  666.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  667.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [297 684] put put put}if
  668.     setpagedevice
  669.     297 684 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  670. "
  671. *End
  672. *PageRegion EnvMonarch/Monarch Envelope: "
  673.     3 dict dup /PageSize [279 540] put dup /ImagingBBox null put
  674.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  675.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [279 540] put put put}if
  676.     setpagedevice
  677.     279 540 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  678. "
  679. *End
  680. *PageRegion EnvC5/C5 Envelope: "
  681.     3 dict dup /PageSize [459 649] put dup /ImagingBBox null put
  682.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  683.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [459 649] put put put}if
  684.     setpagedevice
  685.     459 649 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  686. "
  687. *End
  688. *PageRegion EnvDL/DL Envelope: "
  689.     3 dict dup /PageSize [312 624] put dup /ImagingBBox null put
  690.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  691.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [312 624] put put put}if
  692.     setpagedevice
  693.     312 624 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  694. "
  695. *End
  696. *PageRegion Postcard: "
  697.     3 dict dup /PageSize [284 419] put dup /ImagingBBox null put
  698.     currentpagedevice /InputAttributes get 3 2 copy known {get null eq}{pop pop true}ifelse
  699.     {dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [284 419] put put put}if
  700.     setpagedevice
  701.     284 419 /DiagnosticProcs /ProcSet findresource /setenvtray 2 copy known {get exec}{pop pop}ifelse
  702. "
  703. *End
  704. *PageRegion LetterSmall/US Letter Small: "
  705.     3 dict dup /PageSize [612 792] put dup /ImagingBBox [25 25 587 767] put
  706.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [612 792] put put put
  707.     setpagedevice"
  708. *End
  709. *PageRegion A4Small/A4 Small: "
  710.     3 dict dup /PageSize [595 842] put dup /ImagingBBox [25 25 570 817] put
  711.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [595 842] put put put
  712.     setpagedevice"
  713. *End
  714. *PageRegion LegalSmall/US Legal Small: "
  715.     3 dict dup /PageSize [612 1008] put dup /ImagingBBox [25 25 587 983] put
  716.     dup /InputAttributes 1 dict dup 1 1 dict dup /PageSize [612 1008] put put put
  717.     setpagedevice"
  718. *End
  719. *CloseUI: *PageRegion
  720.  
  721. *% The following entries provide information about specific paper keywords.
  722. *DefaultImageableArea: Letter
  723. *ImageableArea Letter/US Letter: "8.4 10.8601 603.6 781.5 "
  724. *ImageableArea Legal/US Legal: "8.4 12.0 603.6 995.88 "
  725. *ImageableArea A4: "9.6001 10.8001 585.6 831.0 "
  726. *ImageableArea A5: "9.6001 12.0 408.96 582.84 "
  727. *ImageableArea B5: "10.2 12.06 505.56 716.94 "
  728. *ImageableArea Executive: "9.6 12.06 512.64 744.54 "
  729. *ImageableArea Env10/Comm10 Envelope: "11.4 14.1601 284.04 668.04 "
  730. *ImageableArea EnvMonarch/Monarch Envelope: "10.0801 14.16 267.36 524.04 "
  731. *ImageableArea EnvC5/C5 Envelope: "11.7601 14.1601 445.68 633.0 "
  732. *ImageableArea EnvDL/DL Envelope: "11.28 14.1601 299.28 608.04 "
  733. *ImageableArea Postcard: "11.28 14.22 283.92 404.22 "
  734. *ImageableArea LetterSmall/US Letter Small: "31 31 583 761 "
  735. *ImageableArea LegalSmall/US Legal Small: "64 54 548 954 "
  736. *ImageableArea A4Small/A4 Small: "29 31 567 812 "
  737. *?ImageableArea: "
  738. save
  739.     /cvp { (                ) cvs print ( ) print } bind def
  740.     /upperright {10000 mul floor 10000 div} bind def
  741.     /lowerleft {10000 mul ceiling 10000 div} bind def
  742.     newpath clippath pathbbox
  743.     4 -2 roll exch 2 {lowerleft cvp} repeat
  744.     exch 2 {upperright cvp} repeat flush
  745. restore
  746. "
  747. *End
  748.  
  749. *% These provide the physical dimensions of the paper (by keyword)
  750. *DefaultPaperDimension: Letter
  751. *PaperDimension Letter/US Letter: "612 792"
  752. *PaperDimension Legal/US Legal: "612 1008"
  753. *PaperDimension A4: "595 842"
  754. *PaperDimension A5: "420 595"
  755. *PaperDimension B5: "516 729"
  756. *PaperDimension Executive: "522 756"
  757. *PaperDimension Env10/Comm10 Envelope: "297 684"
  758. *PaperDimension EnvMonarch/Monarch Envelope: "279 540"
  759. *PaperDimension EnvC5/C5 Envelope: "459 649"
  760. *PaperDimension EnvDL/DL Envelope: "312 624"
  761. *PaperDimension Postcard: "284 419"
  762. *PaperDimension LetterSmall/US Letter Small: "612 792"
  763. *PaperDimension LegalSmall/US Legal Small: "612 1008"
  764. *PaperDimension A4Small/A4 Small: "595 842"
  765.  
  766. *RequiresPageRegion Multipurpose: True
  767. *RequiresPageRegion Envelope: True
  768.  
  769. *OpenUI *InputSlot: PickOne
  770. *OrderDependency: 30 AnySetup *InputSlot
  771. *DefaultInputSlot: StandardCassette
  772. *InputSlot StandardCassette/Cassette (Standard): "
  773. currentpagedevice /InputAttributes get 0 get
  774. dup null eq
  775. { pop }
  776. { dup length 1 add dict copy
  777.     dup /InputAttributes
  778.     1 dict dup /Priority [0 1 2 3] put
  779.     put setpagedevice
  780. } ifelse"
  781. *End
  782. *InputSlot Multipurpose: "
  783. currentpagedevice
  784. statusdict begin product (LaserWriter 12/640 PS) eq end
  785. {dup /Duplex get}{false}ifelse
  786. { pop }
  787. {    /InputAttributes get 1 get
  788.     dup null eq
  789.     { pop }
  790.     { dup length 1 add dict copy
  791.     dup /InputAttributes
  792.     1 dict dup /Priority [1 0 2 3] put
  793.     put setpagedevice
  794.     } ifelse
  795. }ifelse
  796. "
  797. *End
  798. *InputSlot OptionalCassette/Cassette (Optional): "
  799. currentpagedevice /InputAttributes get 2 get
  800. dup null eq
  801. { pop }
  802. { dup length 1 add dict copy
  803.     dup /InputAttributes
  804.     1 dict dup /Priority [2 0 1] put
  805.     put setpagedevice
  806. } ifelse"
  807. *End
  808. *InputSlot Envelope/Envelope Feeder: "
  809. currentpagedevice /InputAttributes get 3 get
  810. dup null eq
  811. { pop }
  812. { dup length 1 add dict copy
  813.     dup /InputAttributes
  814.     1 dict dup /Priority [3 1 0] put
  815.     put setpagedevice
  816. } ifelse"
  817. *End
  818. *?InputSlot: "
  819. save
  820.     4 dict
  821.     dup /0 (StandardCassette) put
  822.     dup /1 (Multipurpose) put
  823.     dup /2 (OptionalCassette) put
  824.     dup /3 (Envelope) put
  825.     currentpagedevice /InputAttributes get
  826.     dup /Priority known
  827.     { /Priority get 0 get (      ) cvs cvn get }
  828.     {
  829.     dup length 1 eq
  830.     { {pop} forall (       ) cvs cvn get }
  831.     { pop pop (Unknown) } ifelse
  832.     } ifelse
  833.     = flush
  834. restore
  835. "
  836. *End
  837. *CloseUI: *InputSlot
  838.  
  839. *OpenUI *OutputOrder/Output Tray: PickOne
  840. *OrderDependency: 20 AnySetup *OutputOrder
  841. *DefaultOutputOrder: Normal
  842. *OutputOrder Normal/Face Down: "1 dict dup /OutputFaceUp false put setpagedevice"
  843. *OutputOrder Reverse/Face Up: "1 dict dup /OutputFaceUp true put setpagedevice"
  844. *?OutputOrder: "
  845.     save
  846.     currentpagedevice /OutputFaceUp get
  847.     {(Reverse)}{(Normal)}ifelse = flush
  848.     restore
  849. "
  850. *End
  851. *CloseUI: *OutputOrder
  852.  
  853. *OpenUI *ManualFeed/Manual Feed: Boolean
  854. *OrderDependency: 30 AnySetup *ManualFeed
  855. *DefaultManualFeed: False
  856. *ManualFeed True: "1 dict dup /ManualFeed true put setpagedevice"
  857. *ManualFeed False: "1 dict dup /ManualFeed false put setpagedevice"
  858. *?ManualFeed: "
  859.     save
  860.     currentpagedevice /ManualFeed get
  861.     {(True)}{(False)}ifelse = flush
  862.     restore
  863. "
  864. *End
  865. *CloseUI: *ManualFeed
  866.  
  867. *OpenUI *TraySwitch/Tray Switch: Boolean
  868. *OrderDependency: 30 AnySetup *TraySwitch
  869. *DefaultTraySwitch: False
  870. *TraySwitch True/On: "
  871.     statusdict begin product (LaserWriter 12/640 PS) eq end
  872.     currentpagedevice /Duplex 2 copy known {get}{pop pop false}ifelse and
  873.     { currentpagedevice /InputAttributes get
  874.     /Priority 2 copy known
  875.     { get [ exch {dup 1 eq {pop}if}bind forall ]
  876.     1 dict dup /InputAttributes 1 dict dup /Priority
  877.     7 -1 roll put put setpagedevice
  878.     }{pop pop}ifelse
  879.     }if
  880.     1 dict dup /TraySwitch true put setpagedevice
  881. "
  882. *End
  883. *TraySwitch False/Off: "1 dict dup /TraySwitch false put setpagedevice"
  884. *?TraySwitch: "
  885.     save
  886.     currentpagedevice /TraySwitch get
  887.     {(True)}{(False)}ifelse = flush
  888.     restore
  889. "
  890. *End
  891. *CloseUI: *TraySwitch
  892.  
  893. *% Font Information =====================
  894. *DefaultFont: Courier
  895. *Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
  896. *Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
  897. *Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
  898. *Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
  899. *Font Bookman-Demi: Standard "(001.004S)" Standard ROM
  900. *Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
  901. *Font Bookman-Light: Standard "(001.004S)" Standard ROM
  902. *Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM
  903. *Font Courier-Bold: Standard "(002.004S)" Standard ROM
  904. *Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
  905. *Font Courier-Oblique: Standard "(002.004S)" Standard ROM
  906. *Font Courier: Standard "(002.004S)" Standard ROM
  907. *Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
  908. *Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
  909. *Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
  910. *Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
  911. *Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
  912. *Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
  913. *Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
  914. *Font Helvetica: Standard "(001.006S)" Standard ROM
  915. *Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
  916. *Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
  917. *Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
  918. *Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
  919. *Font Palatino-Bold: Standard "(001.005S)" Standard ROM
  920. *Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
  921. *Font Palatino-Italic: Standard "(001.005S)" Standard ROM
  922. *Font Palatino-Roman: Standard "(001.005S)" Standard ROM
  923. *Font Symbol: Standard "(001.007S)" Standard ROM
  924. *Font Times-Bold: Standard "(001.007S)" Standard ROM
  925. *Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
  926. *Font Times-Italic: Standard "(001.007S)" Standard ROM
  927. *Font Times-Roman: Standard "(001.007S)" Standard ROM
  928. *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
  929. *Font ZapfDingbats: Standard "(001.004S)" Standard ROM
  930.  
  931. *?FontQuery: "
  932. save
  933.     { count 1 gt
  934.     { exch dup 127 string cvs (/) print print (:) print
  935.     /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
  936.     } { exit } ifelse 
  937.     } bind loop
  938.     (*) = flush
  939. restore
  940. "
  941. *End
  942.  
  943. *?FontList: "
  944. save
  945.     (*) {(/)print print (\n)print}bind 128 string /Font resourceforall
  946.     (*) = flush
  947. restore
  948. "
  949. *End
  950.  
  951. *% Printer Messages (verbatim from printer):
  952. *Message: "%%[ exitserver: permanent state may be changed ]%%"
  953. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  954. *Message: "\FontName\ not found, using Courier"
  955.  
  956. *% Status (format: %%[ status: <one of these> ] %%)
  957. *Status: "initializing"
  958. *Status: "idle"
  959. *Status: "busy"
  960. *Status: "waiting"
  961. *Status: "PrinterError: cover open"
  962. *Status: "PrinterError: duplex unit disconnected"
  963. *Status: "PrinterError: duplex unit: no paper tray"
  964. *Status: "PrinterError: duplex unit rear cover open"
  965. *Status: "PrinterError: warming up"
  966. *Status: "PrinterError: toner cartridge missing or incorrect"
  967. *Status: "PrinterError: paper exit misfeed"
  968. *Status: "PrinterError: paper jam"
  969. *Status: "PrinterError: paper pre-registration misfeed"
  970. *Status: "PrinterError: paper registration misfeed"
  971. *Status: "PrinterError: paper duplex inlet misfeed"
  972. *Status: "PrinterError: paper V unit misfeed"
  973. *Status: "PrinterError: paper H unit misfeed"
  974. *Status: "PrinterError: fixing temperature malfunction"
  975. *Status: "PrinterError: test printing stage"
  976. *Status: "PrinterError: service call"
  977. *Status: "PrinterError: incorrect paper size setting"
  978. *Status: "PrinterError: Cassette (250 Sheets): no paper tray"
  979. *Status: "PrinterError: Cassette (500 Sheets): no paper tray"
  980. *Status: "PrinterError: Envelope Feeder: no paper tray"
  981. *Status: "PrinterError: Cassette (250 Sheets): out of paper"
  982. *Status: "PrinterError: Multipurpose Tray: out of paper"
  983. *Status: "PrinterError: Cassette (500 Sheets): out of paper"
  984. *Status: "PrinterError: Envelope Feeder: out of paper"
  985. *Status: "PrinterError: waiting for manual feed"
  986. *Status: "PrinterError: Complex page, image approximated"
  987. *Status: "PrinterError: Complex page, imaging incomplete"
  988.  
  989. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  990. *Source: "EtherTalk"
  991. *Source: "LocalTalk"
  992. *Source: "Parallel"
  993.  
  994. *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
  995. *PrinterError: "cover open"
  996. *PrinterError: "duplex unit disconnected"
  997. *PrinterError: "duplex unit: no paper tray"
  998. *PrinterError: "duplex unit rear cover open"
  999. *PrinterError: "warming up"
  1000. *PrinterError: "toner cartridge missing or incorrect"
  1001. *PrinterError: "paper exit misfeed"
  1002. *PrinterError: "paper jam"
  1003. *PrinterError: "paper pre-registration misfeed"
  1004. *PrinterError: "paper registration misfeed"
  1005. *PrinterError: "paper duplex inlet misfeed"
  1006. *PrinterError: "paper V unit misfeed"
  1007. *PrinterError: "paper H unit misfeed"
  1008. *PrinterError: "fixing temperature malfunction"
  1009. *PrinterError: "test printing stage"
  1010. *PrinterError: "service call"
  1011. *PrinterError: "incorrect paper size setting"
  1012. *PrinterError: "Cassette (250 Sheets): no paper tray"
  1013. *PrinterError: "Cassette (500 Sheets): no paper tray"
  1014. *PrinterError: "Envelope Feeder: no paper tray"
  1015. *PrinterError: "Cassette (250 Sheets): out of paper"
  1016. *PrinterError: "Multipurpose Tray: out of paper"
  1017. *PrinterError: "Cassette (500 Sheets): out of paper"
  1018. *PrinterError: "Envelope Feeder: out of paper"
  1019. *PrinterError: "waiting for manual feed"
  1020. *PrinterError: "Complex page, image approximated"
  1021. *PrinterError: "Complex page, imaging incomplete"
  1022.  
  1023. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  1024.  
  1025. *% Color Separation Information =====================
  1026.  
  1027. *DefaultColorSep: ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi
  1028.  
  1029. *%    For 85 lpi / 600 dpi  (5,5,2,6,6,2,20/3,0) =====================
  1030.  
  1031. *ColorSepScreenAngle ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "45.0"
  1032. *ColorSepScreenAngle CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "45.0"
  1033. *ColorSepScreenAngle ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "71.5651"
  1034. *ColorSepScreenAngle ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "18.4349"
  1035. *ColorSepScreenAngle ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "0.0"
  1036.  
  1037. *ColorSepScreenFreq ProcessBlack.85lpi.600dpi/85 lpi / 600 dpi: "84.8528"
  1038. *ColorSepScreenFreq CustomColor.85lpi.600dpi/85 lpi / 600 dpi: "84.8528"
  1039. *ColorSepScreenFreq ProcessCyan.85lpi.600dpi/85 lpi / 600 dpi: "94.8683"
  1040. *ColorSepScreenFreq ProcessMagenta.85lpi.600dpi/85 lpi / 600 dpi: "94.8683"
  1041. *ColorSepScreenFreq ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "30.0"
  1042.  
  1043. *ColorSepScreenProc ProcessYellow.85lpi.600dpi/85 lpi / 600 dpi: "
  1044. {1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch 
  1045. 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch 
  1046. abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 
  1047. sub }{dup mul exch dup mul add 1 exch sub }ifelse }"
  1048. *End
  1049.  
  1050. *%    For 71 lpi / 600 dpi  ===============================
  1051.  
  1052. *ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
  1053. *ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
  1054. *ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71.5651"
  1055. *ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "18.4349"
  1056. *ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "0.0"
  1057.  
  1058. *ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
  1059. *ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
  1060. *ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
  1061. *ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
  1062. *ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "66.6667"
  1063.  
  1064.  
  1065. *% Last Edit Date: May 28, 1996 (sns)
  1066. *% end of PPD file for LaserWriter 12/640 PS
  1067.